memo a grid
Otázka od: Dalibor Faltynek
26. 10. 2004 13:40
Ahoj,
nevite prosim nekdo, jak otevrit nejak sikovne v dbgridu polozku paradoxu
typu memo? (D5Ent).
Dekuji - Faltynek.
Odpovedá: Petr Brant
26. 10. 2004 15:01
Delal jsem to tak, ze jsem cast toho textu (prvnich 40 znaku) vykresloval
rucne - viz kus kodu. Anebo muzes pouzit calculated polozku.
Zdravim
RNDr. Petr Brant [brant@dcomm.cz]
http://brant.wz.cz
procedure TMsgWnd.MsgDBGridDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var Text: string;
begin
if (gdSelected in State) or (gdFocused in State) then
begin
MsgDBGrid.Canvas.brush.Color:= clAqua;
MsgDBGrid.Canvas.FillRect(Rect);
MsgDBGrid.Canvas.Font.Color:=clBlack;
end;
MsgDBGrid.DefaultDrawColumnCell(Rect, DataCol, Column, State);
if UpperCase(Column.Field.FieldName) = 'TEXT' then
begin
....
Text:= Copy(MsgTable.FieldByName('Text').AsString, 1, 40);
MsgDBGrid.Canvas.Font.Color:= clAqua;
MsgDBGrid.Canvas.Font.Style:= [fsBold];
MsgDBGrid.Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, Text);
nevite prosim nekdo, jak otevrit nejak sikovne v dbgridu polozku paradoxu
typu memo? (D5Ent).
Odpovedá: Dalibor Faltynel
27. 10. 2004 12:16
Diky za radu, u kratsich textu je to fajn, asi to ale udelam do udalosti
onclick otevrenim okna s memo komponentou. 40 znaku nestaci.
Dalibor.